Video encoding generally refers to a set of compression and encoding techniques used to turn video image information into a bitstream for storage or transmission (e.g., over a network). For instance, when two devices are participating in a videoconference, each device will generally capture video images, encode the video images into a bitstream, and transmit the encoded bitstream to the other device. The other device receives the encoded bitstream and decodes the data into a series of displayable video images that are similar (though generally not identical, due to a loss of information in the encoding process) to the images captured at the first device.
In some cases, the devices participating in the videoconference will be different types of devices or have different capabilities. Even if both devices are set up for the same encoding and decoding format (e.g., H.264), differences in the capabilities of the encoders may lead to difficulties in a first device understanding the bitstream from a second device. Adapting a videoconference to these differences between devices would allow for better utilization of the capabilities of different devices.